/**
 * 用户模型
 */
const mongoose = require('mongoose');
const { Schema } = mongoose;

// 简化后的用户模式定义
const userSchema = new Schema(
  {
    // _id 字段会由MongoDB自动生成，无需显式定义
    userName: {
      type: String,
      required: true,
      unique: false,
      trim: true,
      lowercase: true,
      match: [/^.{1,7}$/, '用户名长度不能超过7位']
    },
    email: {
      type: String,
      required: true,
      unique: true,
      trim: true,
      lowercase: true,
      match: [/.+\@.+\..+/, '请提供有效的电子邮件地址']
    },
    password: {
      type: String, 
      required: true,
      minlength: 6
    }
  },
  { 
    timestamps: true,
    // 虚拟字段选项
    toJSON: {
      transform: function(doc, ret) {
        delete ret.password; // 返回数据时不包含密码字段
        return ret;
      }
    }
  }
);

// 创建模型
const Users = mongoose.model('Users', userSchema);

module.exports = Users; 